Skip to main content

Agents

Our product is very simple, it can be divided into two fundamental features: managing your AI agents and chatting with them. An Agent within the Denzing application is an entity that serves as a specialized expert in interacting with complex data. Users can send data-related queries to an Agent, and the Agent can retrieve, analyze, and respond based on its expertise in the data source it is bound to. Each Agent is connected to a specific data source (e.g., a database, CSV file, etc.), and it can help users interact with the data in a conversational manner.

Agent Overview

In Denzing, Agents are designed to bridge the gap between users and structured or semi-structured data sources. They allow users to ask questions, perform queries, and gain insights from the data without needing to directly interact with complex database queries or underlying datasets.

An Agent is an intelligent entity that is tied to a data resource and uses the metadata associated with that resource to process and respond to user queries. The metadata is split into two types: schema and semantic metadata, which provide the Agent with both structural and context-specific knowledge about the data.

Agent Properties

1. Name

Each Agent has a name that serves as its identifier. This name is used when interacting with the Agent within the system, making it easy for users to recognize and select the appropriate Agent for their queries. It is best to choose a self-descriptive name that clearly conveys the Agent’s function and purpose, ensuring better identification and usability.

  • Example: An Agent designed to analyze sales data could be named "SalesAnalyticsAgent", while an Agent that analyzes Human Resource related data could be called "HumanResourceAnalyticsAgent".

2. Description

Each Agent has a description that provides an overview of what the Agent is related to, its purpose, and its scope. This helps users understand the function and intended use of the Agent before interacting with it.

  • Example: A financial data analysis Agent may have a description stating that it helps users analyze stock trends, generate financial reports, and retrieve historical market data from a connected database.

3. Type

Agents are categorized into different types based on their accessibility and purpose. The three main types of Agents are:

  • Public: These Agents are accessible to all users of the application and can be used to interact with public data sources.
  • Private: These Agents are restricted to specific users or organizations, providing access to private or sensitive data.
  • Marketplace: These Agents are available through the Denzing marketplace, where users can choose Agents that suit their specific data needs, often created by third-party developers or organizations.

4. Data Resource

An Agent is always associated with a data resource, which is the data source that the Agent specializes in. This can include:

  • Databases (e.g., MySQL, Snowflake, MSSQL, etc.)
  • CSV Files or other flat-file data formats

The data resource is the primary source of information that the Agent is an expert in, and its structure influences how the Agent handles queries.

5. Metadata

Each Agent can contain metadata, which helps the Agent understand and interact with the data source effectively. Metadata enhances query optimization by narrowing the scope of both the query and the agent's response to a specific context. This ensures that the agent delivers more precise and relevant answers, providing a significant improvement over scenarios where the agent lacks metadata. Metadata comes in two forms:

  • Schema Metadata: This represents the structure of the data, including the columns, types, relationships, and any other structural information. For example, in a database, schema metadata would describe the tables, columns, and relationships between entities in the database or CSV.

    • Example: For a relational database, schema metadata might include tables, columns, and the foreign key relationships between them. In a CSV file, it could describe the headers and their data types.
  • Semantic Metadata: This includes the more complex, context-specific information about the data, such as business rules, calculations, attributes, metrics, formulas, and relationships between columns. Semantic metadata allows the Agent to understand complex queries, perform calculations, and derive insights that are not directly present in the raw data.

    • Example: Semantic metadata might define how to calculate "revenue" from raw sales data, or it might contain formulas for metrics such as "customer lifetime value."

This will be discussed in more detail in the Metadata Section.

How Agents Work

  1. Initialization: When a user starts a session with an Agent, the Agent loads its associated data resource (e.g., database or CSV file) and the relevant metadata (schema and semantic).

  2. Query Handling: The Agent receives a user query, processes it using its metadata, and returns an appropriate response based on the data resource it is bound to.

  3. Response Generation: If the query requires calculation or data manipulation, the Agent uses its semantic metadata (e.g., formulas or business logic) to perform the necessary operations before providing a response.

  4. Interaction: Agents are designed to allow for a conversational interface, meaning users can ask follow-up questions, refine their queries, and get deeper insights as they interact with the Agent.

Example Use Cases

  • Data Exploration: Users can interact with Agents to explore complex datasets without needing to understand the underlying database queries or structure.

  • Advanced Calculations: Agents can help users perform advanced metrics or calculations on data by utilizing semantic metadata, such as aggregations, complex formulas, or relationships between columns.

  • Business Insights: With the help of semantic metadata, Agents can interpret business logic and offer actionable insights, helping users make better-informed decisions.

Conclusion

Agents in Denzing provide a powerful interface for interacting with complex data. By leveraging their expertise in specific data sources and using metadata, Agents allow users to query data in a conversational manner while benefiting from advanced calculations and business logic. Whether public, private, or marketplace-based, Agents are an essential component in helping users get the most out of their data.